package com.mapper;

import com.entity.CommentTree;
import com.entity.PostComment;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * ClassName: CommentsDao
 * Description:
 *
 * @author L_Z_R
 * @create 2025/04/16 16:24
 * @version 1.0
 */
public interface PostCommentMapper {

    /**
     * 根据帖id获取评论树
     * @param postId 帖子id
     * @return 评论树
     */
    List<CommentTree> getCommentTree(@Param("postId") int postId);

    /**
     * 添加评论
     * @param comment 评论信息
     */
    void addComment(PostComment comment);

    /**
     * 根据帖子id获取评论数量
     * @param postId 帖子id
     * @return 评论数量
     */
    int countCommentsByPostId(@Param("postId") int postId);


    /**
     * 根据帖子id获取父评论
     * @param postId 帖子id
     * @return 父评论
     */
    List<PostComment> selectTopLevelComments(@Param("postId") Integer postId);

    /**
     * 根据帖子id获取子评论
     * @param parentId 帖子id
     * @return 子评论
     */
    List<PostComment> selectChildComments(@Param("parentId") Integer parentId);
}
